home *** CD-ROM | disk | FTP | other *** search
- #ifndef _DOPUS_IMAGES
- #define _DOPUS_IMAGES
-
- /*****************************************************************************
-
- Images
-
- *****************************************************************************/
-
- // RenderImage() tags
- #define IM_Width TAG_USER + 0 // Width of image
- #define IM_Height TAG_USER + 1 // Height of image
- #define IM_State TAG_USER + 2 // 1 = selected, 0 = normal (default)
- #define IM_Rectangle TAG_USER + 3 // Rectangle to center within
- #define IM_Mask TAG_USER + 4 // 1 = mask image
- #define IM_Depth TAG_USER + 5 // Depth of image
- #define IM_ClipBoundary TAG_USER + 6 // Clip boundary size
- #define IM_Erase TAG_USER + 7 // Erase background
- #define IM_NoDrawInvalid TAG_USER + 8 // Don't draw if image is invalid
- #define IM_NoIconRemap TAG_USER + 9 // Don't remap icons
-
- // Images remapping
- typedef struct
- {
- struct Screen *ir_Screen;
- unsigned short *ir_PenArray;
- short ir_PenCount;
- unsigned long ir_Flags;
- } ImageRemap;
-
- #define IRF_REMAP_COL0 (1<<0) // Remap colour 0
- #define IRF_PRECISION_EXACT (1<<1) // Remap precision
- #define IRF_PRECISION_ICON (1<<2)
- #define IRF_PRECISION_GUI (1<<3)
-
- // Open an image in memory (for remapping)
- typedef struct
- {
- USHORT *oi_ImageData;
- ULONG *oi_Palette;
- short oi_Width;
- short oi_Height;
- short oi_Depth;
- } OpenImageInfo;
-
- void CloseImage(APTR image);
- APTR CopyImage(APTR image);
- void FreeImageRemap(ImageRemap *);
- void FreeRemapImage(APTR,ImageRemap *);
- void GetImageAttrs(APTR image,struct TagItem *tags);
- ULONG *GetImagePalette(APTR image);
- APTR OpenImage(char *name,OpenImageInfo *);
- BOOL RemapImage(APTR,struct Screen *,ImageRemap *);
- short RenderImage(struct RastPort *rp,APTR image,unsigned short left,unsigned short top,struct TagItem *tags);
-
- #endif
-